Scalability of microkernel-based systems
نویسنده
چکیده
Microkernel-based systems divide the operating system functionality into individual and isolated components. The system components are subject to applicationclass protection and isolation. This structuring method has a number of benefits, such as fault isolation between system components, safe extensibility, co-existence of different policies, and isolation between mutually distrusting components. However, such strict isolation limits the information flow between subsystems including information that is essential for performance and scalability in multiprocessor systems. Semantically richer kernel abstractions scale at the cost of generality and minimality–two desired properties of a microkernel. I propose an architecture that allows for dynamic adjustment of scalability-relevant parameters in a general, flexible, and safe manner. I introduce isolation boundaries for microkernel resources and the system processors. The boundaries are controlled at user-level. Operating system components and applications can transform their semantic information into three basic parameters relevant for scalability: the involved processors (depending on their relation and interconnect), degree of concurrency, and groups of resources. I developed a set of mechanisms that allow a kernel to: 1. efficiently track processors on a per-resource basis with support for very large number of processors, 2. dynamically and safely adjust lock primitives at runtime, including full deactivation of kernel locks in the case of no concurrency, 3. dynamically and safely adjust locking granularity at runtime, 4. provide a scalable translation-look-aside buffer (TLB) coherency algorithm that uses versions to minimize interprocessor interference for concurrent memory resource re-allocations, and 5. efficiently track and communicate resource usage in a component-based operating system. Based on my architecture, it is possible to efficiently co-host multiple isolated, independent, and loosely coupled systems on larger multiprocessor systems, and also to fine-tune individual subsystems of a system that have different and potentially conflicting scalability and performance requirements. I describe the application of my techniques to a real system: L4Ka::Pistachio, the latest variant of an L4 microkernel. L4Ka::Pistachio is used in a variety of research and industry projects. Introducing a new dimension to a system — parallelism of multiprocessors — naturally introduces new complexity and overheads. I evaluate my solutions by comparing with the most challenging competitor: the uniprocessor variant of the very same and highly optimized microkernel.
منابع مشابه
Secure Embedded Systems Need Microkernels
Gernot Heiser is professor of operating systems at the University of New South Wales and leader of the research program in embedded, real-time, and operating systems at National ICT Australia (NICTA). His research interests include microkernels and microkernel-based systems, operating systems for embedded systems, and OS-level power management, as well as general performance and scalability iss...
متن کاملM.o.n.s.t.e.r.: a New Behavior-based Microkernel for Mobile Robots
This article describes a concept for programming behavior based robots which combines properties of real-time operating systems with behavior-based programming to solve problems of scalability and reactivity. This new concept features hard and soft periodic processes, preemptive reflexes, behavior processes on different execution frequencies and a background process.
متن کاملMicrokernel and Middle-Ware Based GIS Platform Design
By contrasting the traditional way in which GIS was completed that comes with less flexible, low efficiency, and lack redundancy which cause high entry cost, the fast development of microkernel plug-in technology provides the lightweight, efficient and scalable solution to Geographical Information System (GIS). This paper is to reveal the potential of microkernel plug-in geospatial information ...
متن کاملExperience with the Development of a Microkernel-Based, Multi-Server Operating System
During the first half of the 1990s IBM developed a set of operating system products called Worhplace OS that was bused on the Mach 3.0 microkernel and Taligent’s object-oriented TalOS. These products were intended to be scalable, portable and capable of concurrently running multiple operating system personalities while sharing as much code as possible. The operating system personalities were co...
متن کاملDistributed-Memory OS for Highly Parallel Systems: Experiences and Lessons from Paragon OSF/1 and SUNMOS
This paper presents an evaluation of two distributed-memory operating systems, Paragon OSF/1 and SUNMOS, run on the 227 node Intel Paragon XP/S-15 installed at the Numerical Aerodynamic Simulation (NAS) facility. Paragon OSF/1 is based on the Open Software Foundation Advanced Development (OSF/1 AD) microkernel. SUNMOS is a custom microkernel developed by Sandia National Laboratory and the Unive...
متن کامل